package io;

import java.io.File;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Scanner;

//查找硬盘上文件的位置
public class IODemo8 {
    public static int i=0;
    public static void main(String[] args) {
        //输入文件名，去指定的目录中进行搜索
        Scanner sc=new Scanner(System.in);
        System.out.println("输入要查找的文件名字");
        String targetName=sc.next();
        System.out.println("输入目标目录");
        String fileName=sc.next();

        //判断文件是否有误
        File file=new File(fileName);
        if (!file.isDirectory()) {
            System.out.println("输入的路径有误!");
            return ;
        }
        Func(file,targetName);
        if (i==0){
            System.out.println("很抱歉，这个目录没有你要的文件");
        }
    }
    public static void Func(File file,String targetName){
        File[] files=file.listFiles();
        //对文件进行名字循环遍历
        if (files==null){
            return;
        }
        for (File f:files){
            System.out.println("当前遍历到: " + f.getAbsolutePath());

            //进行判断,要进行是否为目录,还是文件的判断
            if(f.isFile()){
                //表示这是一个文件，那么就可以进行名字比较
                if (targetName.equals(f.getName())){
                    System.out.println("找到了在硬盘上的目标文件"+f.getAbsolutePath());
                    i++;
                    return;
                }
            }else if(f.isDirectory()) {
                //不是文件，是一个目录,那么继续进行遍历
                Func(f,targetName);
            }
        }
    }
}
